#!/usr/bin/env bash
#=========HEADER==============================================================|
#AUTOR
# Jefferson Rocha <lrcjefferson@gmail.com>
#
#PROGRAMA
# Korora - Assistente Pessoal
#
#CHANGELOG
# 
#=============================================================================|

#====VÁRIAVEIS GLOBAIS===================#
versao="Korora está na versão V0.2"
#========================================#


#====CONFIGURAÇÃO========================#
source conf/korora.conf                 # Arquivo de configuração da korora localizado no dir conf
#========================================#


#===BIBLIOTECAS===========================#
# Bibliotecas do korora
source biblioteca/mensagens_aleatorias  # Chamada biblioteca de mensagems aleatorios
source biblioteca/verificacoes          # Chamando biblioteca de verificação
source biblioteca/palavras_chaves       # Chamada biblioteca de palavras chaves principais
source biblioteca/mostrar               # Chamada biblioteca mostrar
source biblioteca/ajuda                 # Chamada biblioteca de ajuda
source biblioteca/pesquisa              # Chamada biblioteca de pesquisas
source biblioteca/previsao_do_tempo     # Chamada biblioteca de previsão do tempo
#========================================#


#===VERIFICAÇÕES=========================#
[[ $(type -P curl) ]] || { echo "Necessita do curl para continuar..." ; exit 1 ;}   # Curl existe?
[[ $(type -P wget) ]] || { echo "Necessita do wget para continuar..." ; exit 1 ;}   # wget existe?

#========================================#

#=====INICIAL=========#

# Inicializando ambiente da korora
clear
echo "Korora Carregada..."

# Loop Principal
while :; do
      echo -e "${cor_amarelo}Escreva 'korora' para fazer a chamada${cor_fecha}"
      read -p $'\033[31;1m>>\033[m ' entrada
      entrada=${entrada,,}     # Convertendo toda entrada em minuscula
      case "$entrada" in       # Case principal
          korora) # Opção principal
              echo -e "${mensagem}"        # Mensagem Aleatoria
              read -p $'\033[31;1m>>\033[m ' -a resposta
              resposta=${resposta,,}       # Tudo em minusculo
              case "${resposta[@]}" in     # Sub entrada
                  # Palavras Chaves
                  *"verificar"*|*"verificação"*|*"verificacao"*|*"fazer verificação"*|*"verifique"*|*"faça uma verificação"*)
                       verificacoes       # Chamando biblioteca de Verificações.
                  ;;

                   # Palavras Primárias
                   *"previsão"*|*"previsao"*)
                       previsao_do_tempo  # Chamando biblioteca de Previsão
                   ;;     

                  # Palavras Primárias
                  *"palavra"*|*"palavras chaves"*|*"palavras chave"*)
                       palavras_chaves    # Chamando biblioteca de Palavras chaves principais
                  ;;

                  # Palavras Primárias
                  *"mostrar"*|*"mostra"*|"me mostre"*|*"mostre-me"*|*"mostre me"*|*"mostre"*)
                       mostrar            # Chamando biblioteca de mostrar
                  ;;
  
                  # Palavras Primárias
                  *"pesquise"*|*"pesquisa"*|*"pesquisar"*|*"pesquise por"*|*"faça a pesquisa"*|*"faça a pesquisa na"*|*"pesquisar na"*|*"pesquisa na"*)
                       pesquisa           # Chamando biblioteca pesquisar
                  ;;

                  # Palavras Primárias
                  "limpar tela"|"limpar a tela"|"limpe a tela"|*"limpa tela"*)
                        clear 
                  ;;

                  # Palavras Primárias
                  *"ajuda"*|*"me ajuda"*|*"ajudar"*|*"me ajude"*|*"preciso de ajuda"*|*"ajuda me"*|*"ajuda-me"*)
                              ajuda       # Chamando biblioteca de ajuda.
                  ;;                  

                  sair) exit 0 ;;

             esac
         ;;        
         *) echo -e "${tab}${cor_vermelho}Senhor Parece que não tenho está função!\n${tab}Verifique as Palavras de Entrada digitando: ${cor_fecha}\n${tab}korora--> palavras chaves OU palavra chave " ;;
      esac  # Fecha case principal.
done

